/*
 * @Author: 追逐的娃 kangchao_php@163.com
 * @Date: 2024-05-06 10:44:50
 * @LastEditors: 追逐的娃 kangchao_php@163.com
 * @LastEditTime: 2024-05-06 13:48:01
 * @FilePath: \huijie-admin\src\axios.js
 * @Description: 
 * 
 */
import axios from 'axios'
import { useSystemStore } from '@/pinia'


const service = axios.create({
    baseURL: '/api', //域名已经在vite.config.js中解决跨域的时候指定了,
    // baseURL: import.meta.env.VITE_APP_BASE_API, //域名已经在vite.config.js中解决跨域的时候指定了,
    timeout: 10000
})

//添加请求拦截器
service.interceptors.request.use(function(config){
    //在发送请求之情指的事情
    // 1、往header头自动添加token
    let system = useSystemStore()
    const token  = system.token
    if(token){
        config.headers['token'] = token
    }
    return config
},function(error){
    //对请求错误处理
    return Promise.reject(error)
})

//添加响应拦截器
service.interceptors.response.use(function(response){
    //2xx 范围内的状态码都会触发该函数
    //对响应数据做的处理
    return response.request.responseType == 'blob' ? response.data : response.data.data
},function(error){
    const msg = error.response.data.msg || '请求失败'
    if(msg == "非法token，请先登录！"){
        //调用退出函数
        let system = useSystemStore()
        system.logOut()
    }
})


export default service